home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CUCD / Utilities / DOpus / DOpus5-Arexx / Catalogize.dopus5 < prev    next >
Encoding:
Text File  |  1998-04-10  |  1.9 KB  |  100 lines

  1. /* script permettant de nommer tous les fichiers d'un repertoire
  2.    en fonction du nom de ce repertoire + un numero               
  3.     Pour Dopus 5, mais facilement exploitable pour dos ou autre ...
  4.  
  5.     By Raisltin - 18/07/97   
  6.  
  7.    Usage : DOpus5:ARexx/Catalogize.dopus5 {Qp}
  8.            Output to window
  9.            [window close button]
  10. */
  11.  
  12. options results
  13.  
  14. parse arg DOpusPort
  15.  
  16. DOpusPort = Strip(Strip(DOpusPort,"B"," "),"B",'"')
  17.  
  18. If DOpusPort = ""  Then DOpusPort = "DOPUS.1"
  19.  
  20. Address VALUE DOpusPort
  21.         
  22.     lister query source
  23.     Lister_Handle = result
  24.     lister query Lister_Handle path
  25.     Lister_Path = strip(result, "B", '"')
  26.     lister query Lister_Handle seldirs
  27.     Liste = result
  28.     lister query Lister_Handle numselentries
  29.     Lister_NumSelEnt = result
  30.  
  31. if Lister_NumSelEnt <= 0 then 
  32. do
  33.     say "aucun fichier selectionné"
  34.     exit
  35. end
  36.  
  37. do until liste=""
  38.  
  39. PARSE VAR Liste entry ' ' Liste
  40.  
  41. entry = strip(entry,'B','"')
  42.  
  43. filelist = SHOWDIR(Lister_Path||entry,'FILE','0a'x)
  44.  
  45. IF LENGTH(filelist)=0 THEN
  46. DO
  47.     say "repertoire vide"
  48.     exit
  49. END
  50.  
  51. n=0
  52. filelist2=filelist
  53. maxlen = 0
  54.  
  55. DO UNTIL filelist2=""
  56.     PARSE VAR filelist2 filename '0a'x filelist2
  57.    if length(filename) > maxlen then maxlen = length(filename)
  58.     n=n+1
  59. END
  60.  
  61. path = Lister_Path || entry || "/"
  62.  
  63. say "Path : "||path
  64. say n ||" files"
  65.  
  66. i = 0
  67.  
  68. DO UNTIL filelist=""
  69.    i=i+1
  70.     PARSE VAR filelist filename '0a'x rest
  71.     filelist=rest
  72.  
  73.     /* split the filename between name and extension */
  74.     pos = LASTPOS(".", filename)
  75.     if pos > 0 then do
  76.         name = SUBSTR(filename,1,pos-1)
  77.         ext  = SUBSTR(filename,pos+1)
  78.     end
  79.  
  80.     ad = ""
  81.  
  82.     if n >= 10 then
  83.     DO
  84.         if i < 10 then ad = "0"
  85.     END
  86.  
  87.     if n >=100 then
  88.     DO
  89.       if  i<10  then ad = "00"
  90.      else if  i<100 then ad = "0"
  91.           
  92.     END
  93.  
  94.    ADDRESS 'COMMAND' 'Rename '||path||filename||' '||path||entry||ad||i||"."||ext
  95.  
  96.     say left(filename,maxlen," ")||" ---> "||entry||ad||i||"."||ext
  97. END
  98.  
  99. lister select Lister_Handle entry OFF
  100. end